{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "name": "BreastCancerDetectionUsingCNN.ipynb",
      "provenance": [],
      "collapsed_sections": []
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    }
  },
  "cells": [
    {
      "cell_type": "code",
      "metadata": {
        "id": "dIUJ_162mKrN",
        "outputId": "2d870d76-02b8-4ae1-ab59-c8377e409e0b",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 35
        }
      },
      "source": [
        "import tensorflow as tf\n",
        "from tensorflow import keras\n",
        "from tensorflow.keras import Sequential\n",
        "from tensorflow.keras.layers import Dropout, BatchNormalization, InputLayer, Conv1D, Dense, Flatten\n",
        "from tensorflow.keras.preprocessing.image import ImageDataGenerator\n",
        "\n",
        "from tensorflow.keras.optimizers import Adam\n",
        "\n",
        "print(tf.__version__)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "2.3.0\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "RBO7HdShm-Ku",
        "outputId": "c8169278-0318-4f86-cc03-203f5d38b564",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 72
        }
      },
      "source": [
        "import pandas as pd\n",
        "import numpy as np\n",
        "import seaborn as sns\n",
        "import matplotlib.pyplot as plt"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "/usr/local/lib/python3.6/dist-packages/statsmodels/tools/_testing.py:19: FutureWarning: pandas.util.testing is deprecated. Use the functions in the public API at pandas.testing instead.\n",
            "  import pandas.util.testing as tm\n"
          ],
          "name": "stderr"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "5GrHEdxinT4L"
      },
      "source": [
        "from sklearn import datasets, metrics\n",
        "from sklearn.model_selection import train_test_split\n",
        "from sklearn.preprocessing import StandardScaler"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "b5LtGdubnlMK"
      },
      "source": [
        "cancer = datasets.load_breast_cancer()"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "rEuyVtXlnu9Y",
        "outputId": "c17161b3-75c8-4462-cacb-d15951961e95",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        }
      },
      "source": [
        "print(cancer.DESCR)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            ".. _breast_cancer_dataset:\n",
            "\n",
            "Breast cancer wisconsin (diagnostic) dataset\n",
            "--------------------------------------------\n",
            "\n",
            "**Data Set Characteristics:**\n",
            "\n",
            "    :Number of Instances: 569\n",
            "\n",
            "    :Number of Attributes: 30 numeric, predictive attributes and the class\n",
            "\n",
            "    :Attribute Information:\n",
            "        - radius (mean of distances from center to points on the perimeter)\n",
            "        - texture (standard deviation of gray-scale values)\n",
            "        - perimeter\n",
            "        - area\n",
            "        - smoothness (local variation in radius lengths)\n",
            "        - compactness (perimeter^2 / area - 1.0)\n",
            "        - concavity (severity of concave portions of the contour)\n",
            "        - concave points (number of concave portions of the contour)\n",
            "        - symmetry \n",
            "        - fractal dimension (\"coastline approximation\" - 1)\n",
            "\n",
            "        The mean, standard error, and \"worst\" or largest (mean of the three\n",
            "        largest values) of these features were computed for each image,\n",
            "        resulting in 30 features.  For instance, field 3 is Mean Radius, field\n",
            "        13 is Radius SE, field 23 is Worst Radius.\n",
            "\n",
            "        - class:\n",
            "                - WDBC-Malignant\n",
            "                - WDBC-Benign\n",
            "\n",
            "    :Summary Statistics:\n",
            "\n",
            "    ===================================== ====== ======\n",
            "                                           Min    Max\n",
            "    ===================================== ====== ======\n",
            "    radius (mean):                        6.981  28.11\n",
            "    texture (mean):                       9.71   39.28\n",
            "    perimeter (mean):                     43.79  188.5\n",
            "    area (mean):                          143.5  2501.0\n",
            "    smoothness (mean):                    0.053  0.163\n",
            "    compactness (mean):                   0.019  0.345\n",
            "    concavity (mean):                     0.0    0.427\n",
            "    concave points (mean):                0.0    0.201\n",
            "    symmetry (mean):                      0.106  0.304\n",
            "    fractal dimension (mean):             0.05   0.097\n",
            "    radius (standard error):              0.112  2.873\n",
            "    texture (standard error):             0.36   4.885\n",
            "    perimeter (standard error):           0.757  21.98\n",
            "    area (standard error):                6.802  542.2\n",
            "    smoothness (standard error):          0.002  0.031\n",
            "    compactness (standard error):         0.002  0.135\n",
            "    concavity (standard error):           0.0    0.396\n",
            "    concave points (standard error):      0.0    0.053\n",
            "    symmetry (standard error):            0.008  0.079\n",
            "    fractal dimension (standard error):   0.001  0.03\n",
            "    radius (worst):                       7.93   36.04\n",
            "    texture (worst):                      12.02  49.54\n",
            "    perimeter (worst):                    50.41  251.2\n",
            "    area (worst):                         185.2  4254.0\n",
            "    smoothness (worst):                   0.071  0.223\n",
            "    compactness (worst):                  0.027  1.058\n",
            "    concavity (worst):                    0.0    1.252\n",
            "    concave points (worst):               0.0    0.291\n",
            "    symmetry (worst):                     0.156  0.664\n",
            "    fractal dimension (worst):            0.055  0.208\n",
            "    ===================================== ====== ======\n",
            "\n",
            "    :Missing Attribute Values: None\n",
            "\n",
            "    :Class Distribution: 212 - Malignant, 357 - Benign\n",
            "\n",
            "    :Creator:  Dr. William H. Wolberg, W. Nick Street, Olvi L. Mangasarian\n",
            "\n",
            "    :Donor: Nick Street\n",
            "\n",
            "    :Date: November, 1995\n",
            "\n",
            "This is a copy of UCI ML Breast Cancer Wisconsin (Diagnostic) datasets.\n",
            "https://goo.gl/U2Uwz2\n",
            "\n",
            "Features are computed from a digitized image of a fine needle\n",
            "aspirate (FNA) of a breast mass.  They describe\n",
            "characteristics of the cell nuclei present in the image.\n",
            "\n",
            "Separating plane described above was obtained using\n",
            "Multisurface Method-Tree (MSM-T) [K. P. Bennett, \"Decision Tree\n",
            "Construction Via Linear Programming.\" Proceedings of the 4th\n",
            "Midwest Artificial Intelligence and Cognitive Science Society,\n",
            "pp. 97-101, 1992], a classification method which uses linear\n",
            "programming to construct a decision tree.  Relevant features\n",
            "were selected using an exhaustive search in the space of 1-4\n",
            "features and 1-3 separating planes.\n",
            "\n",
            "The actual linear program used to obtain the separating plane\n",
            "in the 3-dimensional space is that described in:\n",
            "[K. P. Bennett and O. L. Mangasarian: \"Robust Linear\n",
            "Programming Discrimination of Two Linearly Inseparable Sets\",\n",
            "Optimization Methods and Software 1, 1992, 23-34].\n",
            "\n",
            "This database is also available through the UW CS ftp server:\n",
            "\n",
            "ftp ftp.cs.wisc.edu\n",
            "cd math-prog/cpo-dataset/machine-learn/WDBC/\n",
            "\n",
            ".. topic:: References\n",
            "\n",
            "   - W.N. Street, W.H. Wolberg and O.L. Mangasarian. Nuclear feature extraction \n",
            "     for breast tumor diagnosis. IS&T/SPIE 1993 International Symposium on \n",
            "     Electronic Imaging: Science and Technology, volume 1905, pages 861-870,\n",
            "     San Jose, CA, 1993.\n",
            "   - O.L. Mangasarian, W.N. Street and W.H. Wolberg. Breast cancer diagnosis and \n",
            "     prognosis via linear programming. Operations Research, 43(4), pages 570-577, \n",
            "     July-August 1995.\n",
            "   - W.H. Wolberg, W.N. Street, and O.L. Mangasarian. Machine learning techniques\n",
            "     to diagnose breast cancer from fine-needle aspirates. Cancer Letters 77 (1994) \n",
            "     163-171.\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "EVE-UuxxnyeN",
        "outputId": "5b5a626e-e565-4da9-c770-cf77674aa18c",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 257
        }
      },
      "source": [
        "x = pd.DataFrame(data = cancer.data, columns=cancer.feature_names)\n",
        "x.head()"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>mean radius</th>\n",
              "      <th>mean texture</th>\n",
              "      <th>mean perimeter</th>\n",
              "      <th>mean area</th>\n",
              "      <th>mean smoothness</th>\n",
              "      <th>mean compactness</th>\n",
              "      <th>mean concavity</th>\n",
              "      <th>mean concave points</th>\n",
              "      <th>mean symmetry</th>\n",
              "      <th>mean fractal dimension</th>\n",
              "      <th>radius error</th>\n",
              "      <th>texture error</th>\n",
              "      <th>perimeter error</th>\n",
              "      <th>area error</th>\n",
              "      <th>smoothness error</th>\n",
              "      <th>compactness error</th>\n",
              "      <th>concavity error</th>\n",
              "      <th>concave points error</th>\n",
              "      <th>symmetry error</th>\n",
              "      <th>fractal dimension error</th>\n",
              "      <th>worst radius</th>\n",
              "      <th>worst texture</th>\n",
              "      <th>worst perimeter</th>\n",
              "      <th>worst area</th>\n",
              "      <th>worst smoothness</th>\n",
              "      <th>worst compactness</th>\n",
              "      <th>worst concavity</th>\n",
              "      <th>worst concave points</th>\n",
              "      <th>worst symmetry</th>\n",
              "      <th>worst fractal dimension</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>17.99</td>\n",
              "      <td>10.38</td>\n",
              "      <td>122.80</td>\n",
              "      <td>1001.0</td>\n",
              "      <td>0.11840</td>\n",
              "      <td>0.27760</td>\n",
              "      <td>0.3001</td>\n",
              "      <td>0.14710</td>\n",
              "      <td>0.2419</td>\n",
              "      <td>0.07871</td>\n",
              "      <td>1.0950</td>\n",
              "      <td>0.9053</td>\n",
              "      <td>8.589</td>\n",
              "      <td>153.40</td>\n",
              "      <td>0.006399</td>\n",
              "      <td>0.04904</td>\n",
              "      <td>0.05373</td>\n",
              "      <td>0.01587</td>\n",
              "      <td>0.03003</td>\n",
              "      <td>0.006193</td>\n",
              "      <td>25.38</td>\n",
              "      <td>17.33</td>\n",
              "      <td>184.60</td>\n",
              "      <td>2019.0</td>\n",
              "      <td>0.1622</td>\n",
              "      <td>0.6656</td>\n",
              "      <td>0.7119</td>\n",
              "      <td>0.2654</td>\n",
              "      <td>0.4601</td>\n",
              "      <td>0.11890</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>20.57</td>\n",
              "      <td>17.77</td>\n",
              "      <td>132.90</td>\n",
              "      <td>1326.0</td>\n",
              "      <td>0.08474</td>\n",
              "      <td>0.07864</td>\n",
              "      <td>0.0869</td>\n",
              "      <td>0.07017</td>\n",
              "      <td>0.1812</td>\n",
              "      <td>0.05667</td>\n",
              "      <td>0.5435</td>\n",
              "      <td>0.7339</td>\n",
              "      <td>3.398</td>\n",
              "      <td>74.08</td>\n",
              "      <td>0.005225</td>\n",
              "      <td>0.01308</td>\n",
              "      <td>0.01860</td>\n",
              "      <td>0.01340</td>\n",
              "      <td>0.01389</td>\n",
              "      <td>0.003532</td>\n",
              "      <td>24.99</td>\n",
              "      <td>23.41</td>\n",
              "      <td>158.80</td>\n",
              "      <td>1956.0</td>\n",
              "      <td>0.1238</td>\n",
              "      <td>0.1866</td>\n",
              "      <td>0.2416</td>\n",
              "      <td>0.1860</td>\n",
              "      <td>0.2750</td>\n",
              "      <td>0.08902</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>19.69</td>\n",
              "      <td>21.25</td>\n",
              "      <td>130.00</td>\n",
              "      <td>1203.0</td>\n",
              "      <td>0.10960</td>\n",
              "      <td>0.15990</td>\n",
              "      <td>0.1974</td>\n",
              "      <td>0.12790</td>\n",
              "      <td>0.2069</td>\n",
              "      <td>0.05999</td>\n",
              "      <td>0.7456</td>\n",
              "      <td>0.7869</td>\n",
              "      <td>4.585</td>\n",
              "      <td>94.03</td>\n",
              "      <td>0.006150</td>\n",
              "      <td>0.04006</td>\n",
              "      <td>0.03832</td>\n",
              "      <td>0.02058</td>\n",
              "      <td>0.02250</td>\n",
              "      <td>0.004571</td>\n",
              "      <td>23.57</td>\n",
              "      <td>25.53</td>\n",
              "      <td>152.50</td>\n",
              "      <td>1709.0</td>\n",
              "      <td>0.1444</td>\n",
              "      <td>0.4245</td>\n",
              "      <td>0.4504</td>\n",
              "      <td>0.2430</td>\n",
              "      <td>0.3613</td>\n",
              "      <td>0.08758</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>11.42</td>\n",
              "      <td>20.38</td>\n",
              "      <td>77.58</td>\n",
              "      <td>386.1</td>\n",
              "      <td>0.14250</td>\n",
              "      <td>0.28390</td>\n",
              "      <td>0.2414</td>\n",
              "      <td>0.10520</td>\n",
              "      <td>0.2597</td>\n",
              "      <td>0.09744</td>\n",
              "      <td>0.4956</td>\n",
              "      <td>1.1560</td>\n",
              "      <td>3.445</td>\n",
              "      <td>27.23</td>\n",
              "      <td>0.009110</td>\n",
              "      <td>0.07458</td>\n",
              "      <td>0.05661</td>\n",
              "      <td>0.01867</td>\n",
              "      <td>0.05963</td>\n",
              "      <td>0.009208</td>\n",
              "      <td>14.91</td>\n",
              "      <td>26.50</td>\n",
              "      <td>98.87</td>\n",
              "      <td>567.7</td>\n",
              "      <td>0.2098</td>\n",
              "      <td>0.8663</td>\n",
              "      <td>0.6869</td>\n",
              "      <td>0.2575</td>\n",
              "      <td>0.6638</td>\n",
              "      <td>0.17300</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>20.29</td>\n",
              "      <td>14.34</td>\n",
              "      <td>135.10</td>\n",
              "      <td>1297.0</td>\n",
              "      <td>0.10030</td>\n",
              "      <td>0.13280</td>\n",
              "      <td>0.1980</td>\n",
              "      <td>0.10430</td>\n",
              "      <td>0.1809</td>\n",
              "      <td>0.05883</td>\n",
              "      <td>0.7572</td>\n",
              "      <td>0.7813</td>\n",
              "      <td>5.438</td>\n",
              "      <td>94.44</td>\n",
              "      <td>0.011490</td>\n",
              "      <td>0.02461</td>\n",
              "      <td>0.05688</td>\n",
              "      <td>0.01885</td>\n",
              "      <td>0.01756</td>\n",
              "      <td>0.005115</td>\n",
              "      <td>22.54</td>\n",
              "      <td>16.67</td>\n",
              "      <td>152.20</td>\n",
              "      <td>1575.0</td>\n",
              "      <td>0.1374</td>\n",
              "      <td>0.2050</td>\n",
              "      <td>0.4000</td>\n",
              "      <td>0.1625</td>\n",
              "      <td>0.2364</td>\n",
              "      <td>0.07678</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "   mean radius  mean texture  ...  worst symmetry  worst fractal dimension\n",
              "0        17.99         10.38  ...          0.4601                  0.11890\n",
              "1        20.57         17.77  ...          0.2750                  0.08902\n",
              "2        19.69         21.25  ...          0.3613                  0.08758\n",
              "3        11.42         20.38  ...          0.6638                  0.17300\n",
              "4        20.29         14.34  ...          0.2364                  0.07678\n",
              "\n",
              "[5 rows x 30 columns]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 6
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "AM0__qBFoIoH",
        "outputId": "655cbe84-07fe-4968-9945-b8a15c74bd86",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 468
        }
      },
      "source": [
        "y = cancer.target\n",
        "y"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,\n",
              "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,\n",
              "       0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0,\n",
              "       1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0,\n",
              "       1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1,\n",
              "       1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0,\n",
              "       0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1,\n",
              "       1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1,\n",
              "       1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0,\n",
              "       0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0,\n",
              "       1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1,\n",
              "       1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
              "       0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1,\n",
              "       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1,\n",
              "       1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0,\n",
              "       0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0,\n",
              "       0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0,\n",
              "       1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1,\n",
              "       1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0,\n",
              "       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1,\n",
              "       1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,\n",
              "       1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,\n",
              "       1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1,\n",
              "       1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1,\n",
              "       1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
              "       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1])"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 7
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "QGVw0eYAoaZd",
        "outputId": "70fc143a-e75a-4028-eae6-77e08a369c6c",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 35
        }
      },
      "source": [
        "cancer.target_names"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "array(['malignant', 'benign'], dtype='<U9')"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 8
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "Ae4ModeZoeEU"
      },
      "source": [
        "X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=0, stratify = y)"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "kHQ-72amo5kP",
        "outputId": "7cdf0159-2ff8-4ad2-ceab-76f38f7599d8",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 35
        }
      },
      "source": [
        "X_train.shape"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "(455, 30)"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 10
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "5H-0z1QJo-dy",
        "outputId": "449ea8aa-1842-406d-d9cb-4cb1a1c8ef4f",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 35
        }
      },
      "source": [
        "X_test.shape"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "(114, 30)"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 11
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "9TK8TcbNpBqu"
      },
      "source": [
        "scaler = StandardScaler()\n",
        "X_train = scaler.fit_transform(X_train)\n",
        "X_test = scaler.transform(X_test)"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "eQfZpsKQs87K",
        "outputId": "931d4255-fde9-499b-b48e-67abf27f43b3",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 35
        }
      },
      "source": [
        "X_train = X_train.reshape(455,30,1)\n",
        "X_test = X_test.reshape(114,30,1)\n",
        "X_train.shape"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "(455, 30, 1)"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 13
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "BL5nD7j_YzN_",
        "outputId": "f42249e1-5672-4358-b976-fa87429ddb2d",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 35
        }
      },
      "source": [
        "X_test.shape"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "(114, 30, 1)"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 14
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "nvStlC4qtKXE"
      },
      "source": [
        "epochs = 50\n",
        "model = Sequential()"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "8n30XWpqaS3K"
      },
      "source": [
        "from tensorflow.keras.layers import Dropout, BatchNormalization, InputLayer, Conv1D, Dense, Flatten"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "aANtbmq0aRc4",
        "outputId": "4e3a29aa-1693-49bb-810a-dbd00a466232",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 433
        }
      },
      "source": [
        "model.add(Conv1D(filters=32, kernel_size = 2, activation='relu', input_shape=(30,1)))\n",
        "\n",
        "model.add(Dropout(0.2))\n",
        "\n",
        "model.add(Conv1D(filters=64, kernel_size = 2, activation='relu'))\n",
        "\n",
        "model.add(Dropout(0.5))\n",
        "\n",
        "model.add(Flatten())\n",
        "model.add(Dense(64, activation='relu'))\n",
        "model.add(Dropout(0.5))\n",
        "\n",
        "model.add(Dense(1, activation='sigmoid'))\n",
        "model.summary()\n"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Model: \"sequential\"\n",
            "_________________________________________________________________\n",
            "Layer (type)                 Output Shape              Param #   \n",
            "=================================================================\n",
            "conv1d (Conv1D)              (None, 29, 32)            96        \n",
            "_________________________________________________________________\n",
            "dropout (Dropout)            (None, 29, 32)            0         \n",
            "_________________________________________________________________\n",
            "conv1d_1 (Conv1D)            (None, 28, 64)            4160      \n",
            "_________________________________________________________________\n",
            "dropout_1 (Dropout)          (None, 28, 64)            0         \n",
            "_________________________________________________________________\n",
            "flatten (Flatten)            (None, 1792)              0         \n",
            "_________________________________________________________________\n",
            "dense (Dense)                (None, 64)                114752    \n",
            "_________________________________________________________________\n",
            "dropout_2 (Dropout)          (None, 64)                0         \n",
            "_________________________________________________________________\n",
            "dense_1 (Dense)              (None, 1)                 65        \n",
            "=================================================================\n",
            "Total params: 119,073\n",
            "Trainable params: 119,073\n",
            "Non-trainable params: 0\n",
            "_________________________________________________________________\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "2hV0n6Lwcu_J"
      },
      "source": [
        "model.compile(optimizer=Adam(lr=0.00005), loss='binary_crossentropy', metrics=['accuracy'])"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "4qUblL23dOwn",
        "outputId": "56e54d5b-d1c9-47f8-ffab-de1a6880cff5",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        }
      },
      "source": [
        "history  =model.fit(X_train, y_train, epochs=epochs, validation_data=(X_test, y_test), verbose=1)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Epoch 1/50\n",
            "15/15 [==============================] - 0s 9ms/step - loss: 0.0807 - accuracy: 0.9846 - val_loss: 0.1068 - val_accuracy: 0.9737\n",
            "Epoch 2/50\n",
            "15/15 [==============================] - 0s 7ms/step - loss: 0.0801 - accuracy: 0.9736 - val_loss: 0.1065 - val_accuracy: 0.9737\n",
            "Epoch 3/50\n",
            "15/15 [==============================] - 0s 7ms/step - loss: 0.0778 - accuracy: 0.9802 - val_loss: 0.1060 - val_accuracy: 0.9737\n",
            "Epoch 4/50\n",
            "15/15 [==============================] - 0s 8ms/step - loss: 0.0914 - accuracy: 0.9692 - val_loss: 0.1052 - val_accuracy: 0.9737\n",
            "Epoch 5/50\n",
            "15/15 [==============================] - 0s 7ms/step - loss: 0.0818 - accuracy: 0.9758 - val_loss: 0.1050 - val_accuracy: 0.9737\n",
            "Epoch 6/50\n",
            "15/15 [==============================] - 0s 7ms/step - loss: 0.0772 - accuracy: 0.9758 - val_loss: 0.1047 - val_accuracy: 0.9737\n",
            "Epoch 7/50\n",
            "15/15 [==============================] - 0s 6ms/step - loss: 0.0799 - accuracy: 0.9780 - val_loss: 0.1046 - val_accuracy: 0.9737\n",
            "Epoch 8/50\n",
            "15/15 [==============================] - 0s 6ms/step - loss: 0.0738 - accuracy: 0.9802 - val_loss: 0.1043 - val_accuracy: 0.9737\n",
            "Epoch 9/50\n",
            "15/15 [==============================] - 0s 7ms/step - loss: 0.0784 - accuracy: 0.9714 - val_loss: 0.1040 - val_accuracy: 0.9737\n",
            "Epoch 10/50\n",
            "15/15 [==============================] - 0s 6ms/step - loss: 0.0769 - accuracy: 0.9802 - val_loss: 0.1037 - val_accuracy: 0.9737\n",
            "Epoch 11/50\n",
            "15/15 [==============================] - 0s 6ms/step - loss: 0.0704 - accuracy: 0.9780 - val_loss: 0.1034 - val_accuracy: 0.9737\n",
            "Epoch 12/50\n",
            "15/15 [==============================] - 0s 7ms/step - loss: 0.0792 - accuracy: 0.9736 - val_loss: 0.1027 - val_accuracy: 0.9737\n",
            "Epoch 13/50\n",
            "15/15 [==============================] - 0s 7ms/step - loss: 0.0769 - accuracy: 0.9758 - val_loss: 0.1021 - val_accuracy: 0.9737\n",
            "Epoch 14/50\n",
            "15/15 [==============================] - 0s 6ms/step - loss: 0.0757 - accuracy: 0.9736 - val_loss: 0.1016 - val_accuracy: 0.9649\n",
            "Epoch 15/50\n",
            "15/15 [==============================] - 0s 7ms/step - loss: 0.0718 - accuracy: 0.9714 - val_loss: 0.1013 - val_accuracy: 0.9649\n",
            "Epoch 16/50\n",
            "15/15 [==============================] - 0s 6ms/step - loss: 0.0765 - accuracy: 0.9824 - val_loss: 0.1008 - val_accuracy: 0.9649\n",
            "Epoch 17/50\n",
            "15/15 [==============================] - 0s 6ms/step - loss: 0.0743 - accuracy: 0.9692 - val_loss: 0.1003 - val_accuracy: 0.9649\n",
            "Epoch 18/50\n",
            "15/15 [==============================] - 0s 8ms/step - loss: 0.0657 - accuracy: 0.9802 - val_loss: 0.1002 - val_accuracy: 0.9649\n",
            "Epoch 19/50\n",
            "15/15 [==============================] - 0s 6ms/step - loss: 0.0797 - accuracy: 0.9714 - val_loss: 0.0998 - val_accuracy: 0.9649\n",
            "Epoch 20/50\n",
            "15/15 [==============================] - 0s 6ms/step - loss: 0.0786 - accuracy: 0.9758 - val_loss: 0.0996 - val_accuracy: 0.9649\n",
            "Epoch 21/50\n",
            "15/15 [==============================] - 0s 6ms/step - loss: 0.0650 - accuracy: 0.9802 - val_loss: 0.0994 - val_accuracy: 0.9649\n",
            "Epoch 22/50\n",
            "15/15 [==============================] - 0s 7ms/step - loss: 0.0623 - accuracy: 0.9802 - val_loss: 0.0995 - val_accuracy: 0.9649\n",
            "Epoch 23/50\n",
            "15/15 [==============================] - 0s 6ms/step - loss: 0.0702 - accuracy: 0.9846 - val_loss: 0.0993 - val_accuracy: 0.9649\n",
            "Epoch 24/50\n",
            "15/15 [==============================] - 0s 6ms/step - loss: 0.0672 - accuracy: 0.9736 - val_loss: 0.0993 - val_accuracy: 0.9737\n",
            "Epoch 25/50\n",
            "15/15 [==============================] - 0s 6ms/step - loss: 0.0791 - accuracy: 0.9758 - val_loss: 0.0992 - val_accuracy: 0.9737\n",
            "Epoch 26/50\n",
            "15/15 [==============================] - 0s 6ms/step - loss: 0.0608 - accuracy: 0.9736 - val_loss: 0.0989 - val_accuracy: 0.9737\n",
            "Epoch 27/50\n",
            "15/15 [==============================] - 0s 7ms/step - loss: 0.0538 - accuracy: 0.9868 - val_loss: 0.0990 - val_accuracy: 0.9737\n",
            "Epoch 28/50\n",
            "15/15 [==============================] - 0s 7ms/step - loss: 0.0634 - accuracy: 0.9780 - val_loss: 0.0988 - val_accuracy: 0.9737\n",
            "Epoch 29/50\n",
            "15/15 [==============================] - 0s 6ms/step - loss: 0.0647 - accuracy: 0.9758 - val_loss: 0.0989 - val_accuracy: 0.9737\n",
            "Epoch 30/50\n",
            "15/15 [==============================] - 0s 6ms/step - loss: 0.0605 - accuracy: 0.9868 - val_loss: 0.0985 - val_accuracy: 0.9737\n",
            "Epoch 31/50\n",
            "15/15 [==============================] - 0s 7ms/step - loss: 0.0645 - accuracy: 0.9758 - val_loss: 0.0984 - val_accuracy: 0.9737\n",
            "Epoch 32/50\n",
            "15/15 [==============================] - 0s 6ms/step - loss: 0.0660 - accuracy: 0.9758 - val_loss: 0.0982 - val_accuracy: 0.9737\n",
            "Epoch 33/50\n",
            "15/15 [==============================] - 0s 6ms/step - loss: 0.0663 - accuracy: 0.9780 - val_loss: 0.0980 - val_accuracy: 0.9649\n",
            "Epoch 34/50\n",
            "15/15 [==============================] - 0s 6ms/step - loss: 0.0673 - accuracy: 0.9802 - val_loss: 0.0980 - val_accuracy: 0.9649\n",
            "Epoch 35/50\n",
            "15/15 [==============================] - 0s 6ms/step - loss: 0.0612 - accuracy: 0.9824 - val_loss: 0.0978 - val_accuracy: 0.9649\n",
            "Epoch 36/50\n",
            "15/15 [==============================] - 0s 7ms/step - loss: 0.0654 - accuracy: 0.9824 - val_loss: 0.0978 - val_accuracy: 0.9649\n",
            "Epoch 37/50\n",
            "15/15 [==============================] - 0s 6ms/step - loss: 0.0630 - accuracy: 0.9824 - val_loss: 0.0979 - val_accuracy: 0.9649\n",
            "Epoch 38/50\n",
            "15/15 [==============================] - 0s 6ms/step - loss: 0.0495 - accuracy: 0.9912 - val_loss: 0.0981 - val_accuracy: 0.9649\n",
            "Epoch 39/50\n",
            "15/15 [==============================] - 0s 6ms/step - loss: 0.0633 - accuracy: 0.9868 - val_loss: 0.0985 - val_accuracy: 0.9737\n",
            "Epoch 40/50\n",
            "15/15 [==============================] - 0s 6ms/step - loss: 0.0664 - accuracy: 0.9758 - val_loss: 0.0987 - val_accuracy: 0.9737\n",
            "Epoch 41/50\n",
            "15/15 [==============================] - 0s 7ms/step - loss: 0.0657 - accuracy: 0.9758 - val_loss: 0.0983 - val_accuracy: 0.9737\n",
            "Epoch 42/50\n",
            "15/15 [==============================] - 0s 6ms/step - loss: 0.0619 - accuracy: 0.9802 - val_loss: 0.0980 - val_accuracy: 0.9649\n",
            "Epoch 43/50\n",
            "15/15 [==============================] - 0s 6ms/step - loss: 0.0625 - accuracy: 0.9802 - val_loss: 0.0980 - val_accuracy: 0.9649\n",
            "Epoch 44/50\n",
            "15/15 [==============================] - 0s 6ms/step - loss: 0.0658 - accuracy: 0.9758 - val_loss: 0.0980 - val_accuracy: 0.9649\n",
            "Epoch 45/50\n",
            "15/15 [==============================] - 0s 6ms/step - loss: 0.0702 - accuracy: 0.9758 - val_loss: 0.0980 - val_accuracy: 0.9649\n",
            "Epoch 46/50\n",
            "15/15 [==============================] - 0s 7ms/step - loss: 0.0568 - accuracy: 0.9868 - val_loss: 0.0978 - val_accuracy: 0.9649\n",
            "Epoch 47/50\n",
            "15/15 [==============================] - 0s 7ms/step - loss: 0.0578 - accuracy: 0.9802 - val_loss: 0.0976 - val_accuracy: 0.9649\n",
            "Epoch 48/50\n",
            "15/15 [==============================] - 0s 6ms/step - loss: 0.0645 - accuracy: 0.9780 - val_loss: 0.0974 - val_accuracy: 0.9649\n",
            "Epoch 49/50\n",
            "15/15 [==============================] - 0s 6ms/step - loss: 0.0611 - accuracy: 0.9758 - val_loss: 0.0978 - val_accuracy: 0.9737\n",
            "Epoch 50/50\n",
            "15/15 [==============================] - 0s 7ms/step - loss: 0.0548 - accuracy: 0.9824 - val_loss: 0.0975 - val_accuracy: 0.9649\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "-yK_8l6rdjgP"
      },
      "source": [
        "def plot_learningCurve(history, epoch):\n",
        "  #Plot training and validation accuracy values\n",
        "  epoch_range = range(1, epochs+1)\n",
        "  plt.plot(epoch_range, history.history['accuracy'])\n",
        "  plt.plot(epoch_range, history.history['val_accuracy'])\n",
        "  plt.title('Model Accuracy')\n",
        "  plt.ylabel('Accuracy')\n",
        "  plt.xlabel('Epoch')\n",
        "  plt.legend(['Train','Val'], loc='upper left')\n",
        "  plt.show()\n",
        "\n",
        "\n",
        "  #Plot training and validation loss values\n",
        "  epoch_range = range(1, epochs+1)\n",
        "  plt.plot(epoch_range, history.history['loss'])\n",
        "  plt.plot(epoch_range, history.history['val_loss'])\n",
        "  plt.title('Model Loss')\n",
        "  plt.ylabel('Loss')\n",
        "  plt.xlabel('Epoch')\n",
        "  plt.legend(['Train','Val'], loc='upper left')\n",
        "  plt.show()"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "8dy4ei74fnge"
      },
      "source": [
        "history.history"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "6fl-8EywfirX",
        "outputId": "dca73b23-39b1-4b59-b134-01cc3489fe96",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 573
        }
      },
      "source": [
        "plot_learningCurve(history, epochs)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    }
  ]
}